package qqclient.service;

import java.util.concurrent.ConcurrentHashMap;


//客户端线程管理类
public class ManageClientConnectThread {
    //    用ConcurrentHashMap<String, ClientConnectThread>对客户端线程进行管理
    private static ConcurrentHashMap<String, ClientConnectThread> hsm = new ConcurrentHashMap<>(16);//初始容量为16

    /**
     * 将客户端对应的线程添加到集合中
     * @param userid 用户id
     * @param clientThread 客户端与服务端通讯的线程
     */
    public static void addClientConnectThread(String userid, ClientConnectThread clientThread){
        hsm.put(userid, clientThread);
    }

    /**
     * 获取用户对应的线程
     * @param userid 用户id
     * @return 用户正在执行的线程
     */
    public static ClientConnectThread getClientConnectThread(String userid){
        return hsm.get(userid);
    }


    /**
     * 从线程集合中移除用户对应线程
     * @param userid
     */
    public static void removeClientConnectThread(String userid){
        hsm.remove(userid);
    }
}
